Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries
نویسندگان
چکیده
As machines and programs have become more complex, the process of programming applications that can exploit the power of high-performance systems has become more difficult and correspondingly more labor-intensive. This has substantially widened the software gap—the discrepancy between the need for new software and the aggregate capacity of the workforce to produce it. This problem has been compounded by the slow growth of programming productivity, especially for high-performance programs, over the past two decades. One way to bridge this gap is to make it possible for end users to develop programs in high-level domain-specific programming systems. In the past, a major impediment to the acceptance of such systems has been the poor performance of the resulting applications. To address this problem, we are developing a new compiler-based infrastructure, called MetaScript, that will make it practical to construct efficient script-based high-level languages from annotated component libraries. These languages are called telescoping languages, because they can be nested within one another. For programs written in telescoping languages, high performance and reasonable compilation times can be achieved by exhaustively analyzing the component libraries in advance to produce a language processor that recognizes and optimizes library operations as primitives in the language. The key to making this strategy practical is to keep compile times low by generating a custom compiler with extensive built-in knowledge of the underlying libraries. The goal is to achieve compile times that are linearly proportional to the size of the program presented by the user, rather than to the aggregate size of that program plus the base libraries.
منابع مشابه
Telescoping MATLAB for DSP Applications
Telescoping MATLAB for DSP Applications by Arun Chauhan This dissertation designs and implements a prototype matlab compiler for Digital Signal Processing (DSP) libraries, based on a novel approach called telescoping languages for compiling high-level languages. The thesis of this work is that it is possible to effectively and efficiently compile DSP libraries written in matlab using the telesc...
متن کاملAnnotated Bibiliography of Scientific Code Automation
Analysa [2] combined efficiency and expressiveness by using a functional programming language (AlScheme) as a scripting language which linked with C, C++ and Fortran code for efficiency. The Broadway compiler [18] supports domain-specific compiler optimizations. It provides compiler support for a wide range of domains and in the context of existing programming languages using a technique called...
متن کاملTelescoping Languages: A Compiler Strategy for Implementation of High-Level Domain-Specific Programming Systems
As both machines and programs have become more complex, the programming process has become correspondingly more labor-intensive. This has created a software gap between the need for new software and the aggregate capacity of the current workforce to produce it. This problem has been compounded by the slow growth of programming productivity over the past two decades. One way to bridge this gap i...
متن کاملDomain-Specific Type Inference for Library Generation in a Telescoping Compiler
Telescoping languages is a strategy for allowing users to develop code in high-level, domain-specific languages and still achieve high performance. It uses extensive offline processing of the library defining the language. This process speculatively determines the possible uses of the library subroutines and generates variants specialized toward those uses. LibGen is a telescoping-language syst...
متن کاملType-Based Speculative Specialization in a Telescoping Compiler for Matlab
Telescoping languages is a strategy to automatically generate highly-optimized domain-specific libraries. The key idea is to create specialized variants of library procedures through extensive offline processing. This paper describes a telescoping system, called ARGen, which generates highperformance Fortran or C libraries from prototype Matlab code for the linear algebra library, ARPACK. ARGen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Parallel Distrib. Comput.
دوره 61 شماره
صفحات -
تاریخ انتشار 2001